<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SPHinXsys: SPHINXsys/src/shared/bodies/base_body.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SPHinXsys
   &#160;<span id="projectnumber">alpha version</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_3dc1dabd28ba78e072d14d3fcfc90454.html">SPHINXsys</a></li><li class="navelem"><a class="el" href="dir_48ea983704c43b6d88c1fa3f4d09e369.html">src</a></li><li class="navelem"><a class="el" href="dir_0a0d9ef1793521534f0094f317758287.html">shared</a></li><li class="navelem"><a class="el" href="dir_f564752dc24125918d43f2c144546267.html">bodies</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#enum-members">Enumerations</a>  </div>
  <div class="headertitle">
<div class="title">base_body.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>This is the base classes of <a class="el" href="namespace_s_p_h.html">SPH</a> bodies. The real body is for that with cell linked list and the fictitious one does not. <br />
 Before the definition of the <a class="el" href="namespace_s_p_h.html">SPH</a> bodies, the shapes with complex geometries, i.e. those are produced by advanced binary operation, such as intersection, should be produced first. Then, all shapes used in body definition should be either contain or not contain each other. Partial overlap between them are not premitted.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;base_data_package.h&quot;</code><br />
<code>#include &quot;<a class="el" href="sph__data__conainers_8h_source.html">sph_data_conainers.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="neighbor__relation_8h_source.html">neighbor_relation.h</a>&quot;</code><br />
<code>#include &quot;geometry.h&quot;</code><br />
<code>#include &lt;string&gt;</code><br />
</div>
<p><a href="base__body_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_s_p_h_body.html">SPH::SPHBody</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_s_p_h_1_1_s_p_h_body.html" title="SPHBody is a base body with basic data and functions. Its derived class can be a real fluid body...">SPHBody</a> is a base body with basic data and functions. Its derived class can be a real fluid body, a real deformable solid body, a static or moving solid body or a fictitious body. Note that only real bodies have cell linked list.  <a href="class_s_p_h_1_1_s_p_h_body.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_real_body.html">SPH::RealBody</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Derived class from <a class="el" href="class_s_p_h_1_1_s_p_h_body.html" title="SPHBody is a base body with basic data and functions. Its derived class can be a real fluid body...">SPHBody</a>. With inner particle configuration or inner interactions.  <a href="class_s_p_h_1_1_real_body.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_fictitious_body.html">SPH::FictitiousBody</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Derived class from <a class="el" href="class_s_p_h_1_1_s_p_h_body.html" title="SPHBody is a base body with basic data and functions. Its derived class can be a real fluid body...">SPHBody</a>. Without inner configuration or inner interaction.  <a href="class_s_p_h_1_1_fictitious_body.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_body_part.html">SPH::BodyPart</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An auxillary class for <a class="el" href="class_s_p_h_1_1_s_p_h_body.html" title="SPHBody is a base body with basic data and functions. Its derived class can be a real fluid body...">SPHBody</a> to indicate a part of the body.  <a href="class_s_p_h_1_1_body_part.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_body_part_by_particle.html">SPH::BodyPartByParticle</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An auxillary class for <a class="el" href="class_s_p_h_1_1_s_p_h_body.html" title="SPHBody is a base body with basic data and functions. Its derived class can be a real fluid body...">SPHBody</a> to indicate a part of the body moving together with particles.  <a href="class_s_p_h_1_1_body_part_by_particle.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_body_surface.html">SPH::BodySurface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A auxillary class for Body to indicate the surface particles from background mesh.  <a href="class_s_p_h_1_1_body_surface.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_body_surface_layer.html">SPH::BodySurfaceLayer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A auxillary class for Body to indicate the particles within the inner layers.  <a href="class_s_p_h_1_1_body_surface_layer.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_body_part_by_cell.html">SPH::BodyPartByCell</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An auxillary class for <a class="el" href="class_s_p_h_1_1_s_p_h_body.html" title="SPHBody is a base body with basic data and functions. Its derived class can be a real fluid body...">SPHBody</a> to indicate a part of the body fixed in space.  <a href="class_s_p_h_1_1_body_part_by_cell.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_near_body_surface.html">SPH::NearBodySurface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An auxillary class for <a class="el" href="class_s_p_h_1_1_s_p_h_body.html" title="SPHBody is a base body with basic data and functions. Its derived class can be a real fluid body...">SPHBody</a> to indicate region close the body surface.  <a href="class_s_p_h_1_1_near_body_surface.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_solid_body_part_for_simbody.html">SPH::SolidBodyPartForSimbody</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A SolidBodyPart for coupling with Simbody. The mass, origin, and unit inertial matrix are computed. Note: In Simbody, all spatial vectors are three dimensional.  <a href="class_s_p_h_1_1_solid_body_part_for_simbody.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespace_s_p_h"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_s_p_h.html">SPH</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ae792a42e986ff47b7619a54be7ea5bb5"><td class="memItemLeft" align="right" valign="top"><a id="ae792a42e986ff47b7619a54be7ea5bb5"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>ParticlesGeneratorOps</b> { <b>lattice</b>, 
<b>direct</b>, 
<b>regularized</b>
 }</td></tr>
<tr class="separator:ae792a42e986ff47b7619a54be7ea5bb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This is the base classes of <a class="el" href="namespace_s_p_h.html">SPH</a> bodies. The real body is for that with cell linked list and the fictitious one does not. <br />
 Before the definition of the <a class="el" href="namespace_s_p_h.html">SPH</a> bodies, the shapes with complex geometries, i.e. those are produced by advanced binary operation, such as intersection, should be produced first. Then, all shapes used in body definition should be either contain or not contain each other. Partial overlap between them are not premitted. </p>
<dl class="section author"><dt>Author</dt><dd>Luhui Han, Chi ZHang and Xiangyu Hu </dd></dl>
<dl class="section version"><dt>Version</dt><dd>0.1 </dd></dl>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
